/*
 * @filename SecurityManager.java
 * @author barry
 * @version 0.0.1
 * @date 2019年12月10日
 */
package com.bnzj.core.web.security;

import java.util.Collection;
import java.util.Map;
import java.util.Set;

import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.core.GrantedAuthority;

/**
 * @author barry
 * @date 2019-12-10
 */
public interface SecurityResourceManager {
    
    /**
     * 获取每个用户都有的基础角色
     * @return
     */
    Set<ConfigAttribute> getBasicRoleSet();
    
    /**
     * 获取所有的角色
     * @return
     */
    Set<ConfigAttribute> getAllRoleSet();

    /**
     * 获取所有的资源以及能访问该资源的角色
     * @return
     */
    Map<String, Set<ConfigAttribute>> getResourceMap();
    
    Collection<? extends GrantedAuthority> getAuthorities(String account);
}
